package com.alibaba.alink.common.utils;

public class ExpTableArray {
	public final static float[] sigmoidTable = {
		0.002473f, 0.002502f, 0.002532f, 0.002562f, 0.002593f, 0.002624f, 0.002655f, 0.002687f, 0.002719f, 0.002751f,
		0.002784f, 0.002818f, 0.002851f, 0.002885f, 0.002920f, 0.002955f, 0.002990f, 0.003026f, 0.003062f, 0.003098f,
		0.003135f, 0.003173f, 0.003211f, 0.003249f, 0.003288f, 0.003327f, 0.003367f, 0.003407f, 0.003447f, 0.003489f,
		0.003530f, 0.003572f, 0.003615f, 0.003658f, 0.003702f, 0.003746f, 0.003791f, 0.003836f, 0.003882f, 0.003928f,
		0.003975f, 0.004022f, 0.004070f, 0.004119f, 0.004168f, 0.004218f, 0.004268f, 0.004319f, 0.004370f, 0.004422f,
		0.004475f, 0.004528f, 0.004582f, 0.004637f, 0.004692f, 0.004748f, 0.004805f, 0.004862f, 0.004920f, 0.004979f,
		0.005038f, 0.005098f, 0.005159f, 0.005220f, 0.005282f, 0.005345f, 0.005409f, 0.005473f, 0.005539f, 0.005604f,
		0.005671f, 0.005739f, 0.005807f, 0.005876f, 0.005946f, 0.006017f, 0.006089f, 0.006161f, 0.006234f, 0.006309f,
		0.006384f, 0.006460f, 0.006536f, 0.006614f, 0.006693f, 0.006772f, 0.006853f, 0.006935f, 0.007017f, 0.007100f,
		0.007185f, 0.007270f, 0.007357f, 0.007444f, 0.007533f, 0.007622f, 0.007713f, 0.007804f, 0.007897f, 0.007991f,
		0.008086f, 0.008182f, 0.008279f, 0.008377f, 0.008477f, 0.008577f, 0.008679f, 0.008782f, 0.008887f, 0.008992f,
		0.009099f, 0.009207f, 0.009316f, 0.009426f, 0.009538f, 0.009651f, 0.009766f, 0.009882f, 0.009999f, 0.010117f,
		0.010237f, 0.010359f, 0.010481f, 0.010606f, 0.010731f, 0.010858f, 0.010987f, 0.011117f, 0.011249f, 0.011382f,
		0.011517f, 0.011653f, 0.011791f, 0.011930f, 0.012072f, 0.012214f, 0.012359f, 0.012505f, 0.012653f, 0.012802f,
		0.012954f, 0.013107f, 0.013262f, 0.013418f, 0.013577f, 0.013737f, 0.013900f, 0.014064f, 0.014230f, 0.014398f,
		0.014568f, 0.014739f, 0.014913f, 0.015089f, 0.015267f, 0.015447f, 0.015629f, 0.015813f, 0.016000f, 0.016188f,
		0.016379f, 0.016572f, 0.016767f, 0.016964f, 0.017164f, 0.017366f, 0.017570f, 0.017777f, 0.017986f, 0.018198f,
		0.018412f, 0.018628f, 0.018847f, 0.019068f, 0.019292f, 0.019519f, 0.019748f, 0.019980f, 0.020214f, 0.020451f,
		0.020691f, 0.020934f, 0.021179f, 0.021427f, 0.021678f, 0.021932f, 0.022189f, 0.022449f, 0.022712f, 0.022977f,
		0.023246f, 0.023518f, 0.023793f, 0.024071f, 0.024352f, 0.024637f, 0.024924f, 0.025215f, 0.025510f, 0.025807f,
		0.026108f, 0.026413f, 0.026721f, 0.027032f, 0.027347f, 0.027665f, 0.027987f, 0.028313f, 0.028642f, 0.028975f,
		0.029312f, 0.029653f, 0.029997f, 0.030346f, 0.030698f, 0.031054f, 0.031414f, 0.031779f, 0.032147f, 0.032519f,
		0.032896f, 0.033277f, 0.033662f, 0.034051f, 0.034445f, 0.034843f, 0.035246f, 0.035653f, 0.036065f, 0.036481f,
		0.036901f, 0.037327f, 0.037757f, 0.038192f, 0.038632f, 0.039076f, 0.039526f, 0.039980f, 0.040440f, 0.040904f,
		0.041374f, 0.041848f, 0.042328f, 0.042814f, 0.043304f, 0.043800f, 0.044301f, 0.044808f, 0.045320f, 0.045838f,
		0.046362f, 0.046891f, 0.047426f, 0.047967f, 0.048513f, 0.049066f, 0.049624f, 0.050189f, 0.050759f, 0.051336f,
		0.051919f, 0.052508f, 0.053103f, 0.053705f, 0.054313f, 0.054928f, 0.055549f, 0.056177f, 0.056812f, 0.057453f,
		0.058101f, 0.058756f, 0.059418f, 0.060087f, 0.060763f, 0.061445f, 0.062136f, 0.062833f, 0.063538f, 0.064250f,
		0.064969f, 0.065696f, 0.066431f, 0.067173f, 0.067923f, 0.068680f, 0.069446f, 0.070219f, 0.071000f, 0.071789f,
		0.072587f, 0.073392f, 0.074206f, 0.075028f, 0.075858f, 0.076697f, 0.077544f, 0.078400f, 0.079265f, 0.080138f,
		0.081020f, 0.081911f, 0.082810f, 0.083719f, 0.084637f, 0.085564f, 0.086500f, 0.087445f, 0.088400f, 0.089364f,
		0.090337f, 0.091320f, 0.092313f, 0.093315f, 0.094328f, 0.095349f, 0.096381f, 0.097423f, 0.098475f, 0.099537f,
		0.100609f, 0.101691f, 0.102784f, 0.103887f, 0.105001f, 0.106125f, 0.107259f, 0.108405f, 0.109561f, 0.110727f,
		0.111905f, 0.113094f, 0.114293f, 0.115504f, 0.116726f, 0.117959f, 0.119203f, 0.120459f, 0.121726f, 0.123004f,
		0.124294f, 0.125596f, 0.126909f, 0.128234f, 0.129570f, 0.130919f, 0.132280f, 0.133652f, 0.135036f, 0.136433f,
		0.137842f, 0.139263f, 0.140696f, 0.142141f, 0.143599f, 0.145069f, 0.146552f, 0.148047f, 0.149555f, 0.151075f,
		0.152609f, 0.154155f, 0.155713f, 0.157285f, 0.158869f, 0.160466f, 0.162077f, 0.163700f, 0.165336f, 0.166986f,
		0.168648f, 0.170324f, 0.172013f, 0.173715f, 0.175430f, 0.177159f, 0.178901f, 0.180657f, 0.182426f, 0.184208f,
		0.186004f, 0.187813f, 0.189635f, 0.191472f, 0.193321f, 0.195185f, 0.197062f, 0.198952f, 0.200856f, 0.202774f,
		0.204705f, 0.206650f, 0.208609f, 0.210581f, 0.212567f, 0.214566f, 0.216579f, 0.218606f, 0.220646f, 0.222700f,
		0.224768f, 0.226849f, 0.228944f, 0.231052f, 0.233174f, 0.235309f, 0.237458f, 0.239620f, 0.241796f, 0.243985f,
		0.246188f, 0.248404f, 0.250633f, 0.252876f, 0.255132f, 0.257400f, 0.259683f, 0.261978f, 0.264286f, 0.266607f,
		0.268941f, 0.271288f, 0.273648f, 0.276021f, 0.278406f, 0.280804f, 0.283215f, 0.285638f, 0.288073f, 0.290521f,
		0.292980f, 0.295453f, 0.297937f, 0.300433f, 0.302941f, 0.305461f, 0.307992f, 0.310535f, 0.313090f, 0.315656f,
		0.318233f, 0.320821f, 0.323421f, 0.326031f, 0.328653f, 0.331285f, 0.333927f, 0.336580f, 0.339244f, 0.341917f,
		0.344601f, 0.347295f, 0.349998f, 0.352711f, 0.355434f, 0.358166f, 0.360907f, 0.363658f, 0.366417f, 0.369185f,
		0.371962f, 0.374747f, 0.377541f, 0.380342f, 0.383152f, 0.385970f, 0.388795f, 0.391628f, 0.394468f, 0.397315f,
		0.400169f, 0.403030f, 0.405897f, 0.408771f, 0.411651f, 0.414538f, 0.417430f, 0.420328f, 0.423231f, 0.426140f,
		0.429053f, 0.431972f, 0.434896f, 0.437824f, 0.440756f, 0.443692f, 0.446633f, 0.449577f, 0.452524f, 0.455475f,
		0.458430f, 0.461387f, 0.464346f, 0.467309f, 0.470273f, 0.473240f, 0.476208f, 0.479179f, 0.482150f, 0.485123f,
		0.488097f, 0.491072f, 0.494048f, 0.497024f, 0.500000f, 0.502976f, 0.505952f, 0.508928f, 0.511903f, 0.514877f,
		0.517850f, 0.520821f, 0.523792f, 0.526760f, 0.529727f, 0.532691f, 0.535654f, 0.538613f, 0.541570f, 0.544525f,
		0.547476f, 0.550423f, 0.553367f, 0.556308f, 0.559244f, 0.562177f, 0.565104f, 0.568028f, 0.570947f, 0.573860f,
		0.576769f, 0.579672f, 0.582570f, 0.585462f, 0.588349f, 0.591229f, 0.594103f, 0.596970f, 0.599831f, 0.602685f,
		0.605532f, 0.608373f, 0.611205f, 0.614030f, 0.616848f, 0.619658f, 0.622459f, 0.625253f, 0.628038f, 0.630815f,
		0.633583f, 0.636342f, 0.639093f, 0.641834f, 0.644566f, 0.647289f, 0.650002f, 0.652705f, 0.655399f, 0.658083f,
		0.660756f, 0.663420f, 0.666073f, 0.668715f, 0.671347f, 0.673969f, 0.676579f, 0.679179f, 0.681767f, 0.684344f,
		0.686910f, 0.689465f, 0.692008f, 0.694539f, 0.697059f, 0.699567f, 0.702063f, 0.704548f, 0.707020f, 0.709479f,
		0.711927f, 0.714362f, 0.716785f, 0.719196f, 0.721594f, 0.723979f, 0.726352f, 0.728712f, 0.731059f, 0.733393f,
		0.735714f, 0.738022f, 0.740317f, 0.742600f, 0.744869f, 0.747124f, 0.749367f, 0.751596f, 0.753812f, 0.756015f,
		0.758204f, 0.760380f, 0.762542f, 0.764691f, 0.766826f, 0.768948f, 0.771056f, 0.773151f, 0.775232f, 0.777300f,
		0.779354f, 0.781394f, 0.783421f, 0.785434f, 0.787433f, 0.789419f, 0.791391f, 0.793350f, 0.795295f, 0.797226f,
		0.799144f, 0.801048f, 0.802938f, 0.804815f, 0.806679f, 0.808528f, 0.810365f, 0.812187f, 0.813996f, 0.815792f,
		0.817575f, 0.819343f, 0.821099f, 0.822841f, 0.824570f, 0.826285f, 0.827987f, 0.829676f, 0.831352f, 0.833014f,
		0.834664f, 0.836300f, 0.837923f, 0.839534f, 0.841131f, 0.842715f, 0.844287f, 0.845845f, 0.847391f, 0.848925f,
		0.850445f, 0.851953f, 0.853448f, 0.854931f, 0.856401f, 0.857859f, 0.859304f, 0.860737f, 0.862158f, 0.863567f,
		0.864964f, 0.866348f, 0.867720f, 0.869081f, 0.870430f, 0.871766f, 0.873091f, 0.874404f, 0.875706f, 0.876996f,
		0.878275f, 0.879541f, 0.880797f, 0.882041f, 0.883274f, 0.884496f, 0.885707f, 0.886906f, 0.888095f, 0.889273f,
		0.890440f, 0.891595f, 0.892741f, 0.893875f, 0.894999f, 0.896113f, 0.897216f, 0.898309f, 0.899391f, 0.900463f,
		0.901525f, 0.902577f, 0.903619f, 0.904651f, 0.905672f, 0.906685f, 0.907687f, 0.908680f, 0.909663f, 0.910636f,
		0.911600f, 0.912555f, 0.913500f, 0.914436f, 0.915363f, 0.916281f, 0.917190f, 0.918089f, 0.918980f, 0.919862f,
		0.920735f, 0.921600f, 0.922456f, 0.923303f, 0.924142f, 0.924972f, 0.925794f, 0.926608f, 0.927413f, 0.928211f,
		0.929000f, 0.929781f, 0.930555f, 0.931320f, 0.932077f, 0.932827f, 0.933569f, 0.934304f, 0.935031f, 0.935750f,
		0.936462f, 0.937167f, 0.937864f, 0.938555f, 0.939237f, 0.939913f, 0.940582f, 0.941244f, 0.941899f, 0.942547f,
		0.943188f, 0.943823f, 0.944451f, 0.945072f, 0.945687f, 0.946295f, 0.946897f, 0.947492f, 0.948081f, 0.948664f,
		0.949241f, 0.949811f, 0.950376f, 0.950934f, 0.951487f, 0.952033f, 0.952574f, 0.953109f, 0.953638f, 0.954162f,
		0.954680f, 0.955192f, 0.955699f, 0.956200f, 0.956696f, 0.957186f, 0.957672f, 0.958152f, 0.958626f, 0.959096f,
		0.959560f, 0.960020f, 0.960474f, 0.960924f, 0.961368f, 0.961808f, 0.962243f, 0.962673f, 0.963099f, 0.963519f,
		0.963935f, 0.964347f, 0.964754f, 0.965157f, 0.965555f, 0.965949f, 0.966338f, 0.966723f, 0.967104f, 0.967481f,
		0.967853f, 0.968221f, 0.968586f, 0.968946f, 0.969302f, 0.969654f, 0.970003f, 0.970347f, 0.970688f, 0.971025f,
		0.971358f, 0.971687f, 0.972013f, 0.972335f, 0.972653f, 0.972968f, 0.973279f, 0.973587f, 0.973892f, 0.974193f,
		0.974490f, 0.974785f, 0.975076f, 0.975363f, 0.975648f, 0.975929f, 0.976207f, 0.976482f, 0.976754f, 0.977023f,
		0.977288f, 0.977551f, 0.977811f, 0.978068f, 0.978322f, 0.978573f, 0.978821f, 0.979066f, 0.979309f, 0.979549f,
		0.979786f, 0.980020f, 0.980252f, 0.980481f, 0.980708f, 0.980932f, 0.981153f, 0.981372f, 0.981588f, 0.981802f,
		0.982014f, 0.982223f, 0.982430f, 0.982634f, 0.982836f, 0.983036f, 0.983233f, 0.983428f, 0.983621f, 0.983812f,
		0.984000f, 0.984187f, 0.984371f, 0.984553f, 0.984733f, 0.984911f, 0.985087f, 0.985261f, 0.985432f, 0.985602f,
		0.985770f, 0.985936f, 0.986100f, 0.986263f, 0.986423f, 0.986582f, 0.986738f, 0.986893f, 0.987046f, 0.987198f,
		0.987347f, 0.987495f, 0.987641f, 0.987786f, 0.987929f, 0.988070f, 0.988209f, 0.988347f, 0.988483f, 0.988618f,
		0.988751f, 0.988883f, 0.989013f, 0.989142f, 0.989269f, 0.989394f, 0.989519f, 0.989641f, 0.989763f, 0.989883f,
		0.990001f, 0.990118f, 0.990234f, 0.990349f, 0.990462f, 0.990574f, 0.990684f, 0.990793f, 0.990901f, 0.991008f,
		0.991113f, 0.991218f, 0.991321f, 0.991423f, 0.991523f, 0.991623f, 0.991721f, 0.991818f, 0.991914f, 0.992009f,
		0.992103f, 0.992196f, 0.992287f, 0.992378f, 0.992467f, 0.992556f, 0.992643f, 0.992730f, 0.992815f, 0.992900f,
		0.992983f, 0.993065f, 0.993147f, 0.993228f, 0.993307f, 0.993386f, 0.993464f, 0.993540f, 0.993616f, 0.993691f,
		0.993766f, 0.993839f, 0.993911f, 0.993983f, 0.994054f, 0.994124f, 0.994193f, 0.994261f, 0.994329f, 0.994396f,
		0.994461f, 0.994527f, 0.994591f, 0.994655f, 0.994718f, 0.994780f, 0.994841f, 0.994902f, 0.994962f, 0.995021f,
		0.995080f, 0.995138f, 0.995195f, 0.995252f, 0.995308f, 0.995363f, 0.995418f, 0.995472f, 0.995525f, 0.995578f,
		0.995630f, 0.995681f, 0.995732f, 0.995782f, 0.995832f, 0.995881f, 0.995930f, 0.995978f, 0.996025f, 0.996072f,
		0.996118f, 0.996164f, 0.996209f, 0.996254f, 0.996298f, 0.996342f, 0.996385f, 0.996428f, 0.996470f, 0.996511f,
		0.996553f, 0.996593f, 0.996633f, 0.996673f, 0.996712f, 0.996751f, 0.996789f, 0.996827f, 0.996865f, 0.996902f,
		0.996938f, 0.996974f, 0.997010f, 0.997045f, 0.997080f, 0.997115f, 0.997149f, 0.997182f, 0.997216f, 0.997249f,
		0.997281f, 0.997313f, 0.997345f, 0.997376f, 0.997407f, 0.997438f, 0.997468f, 0.997498f, 0.997527f
	};

	public final static float[] logTable = {
		-18.428648f, -6.915723f, -6.222576f, -5.817111f, -5.529429f, -5.306285f, -5.123964f, -4.969813f, -4.836282f,
		-4.718499f,
		-4.613138f, -4.517828f, -4.430817f, -4.350774f, -4.276666f, -4.207673f, -4.143135f, -4.082510f, -4.025352f,
		-3.971284f,
		-3.919991f, -3.871201f, -3.824681f, -3.780229f, -3.737670f, -3.696848f, -3.657627f, -3.619887f, -3.583519f,
		-3.548428f,
		-3.514526f, -3.481736f, -3.449988f, -3.419216f, -3.389363f, -3.360375f, -3.332205f, -3.304806f, -3.278137f,
		-3.252162f,
		-3.226844f, -3.202151f, -3.178054f, -3.154523f, -3.131534f, -3.109061f, -3.087082f, -3.065576f, -3.044523f,
		-3.023903f,
		-3.003700f, -2.983898f, -2.964480f, -2.945431f, -2.926739f, -2.908390f, -2.890372f, -2.872672f, -2.855280f,
		-2.838186f,
		-2.821379f, -2.804850f, -2.788589f, -2.772589f, -2.756840f, -2.741336f, -2.726069f, -2.711031f, -2.696216f,
		-2.681617f,
		-2.667228f, -2.653044f, -2.639057f, -2.625264f, -2.611658f, -2.598235f, -2.584990f, -2.571918f, -2.559015f,
		-2.546276f,
		-2.533697f, -2.521274f, -2.509004f, -2.496883f, -2.484907f, -2.473072f, -2.461376f, -2.449815f, -2.438387f,
		-2.427087f,
		-2.415914f, -2.404864f, -2.393935f, -2.383124f, -2.372429f, -2.361846f, -2.351375f, -2.341012f, -2.330756f,
		-2.320604f,
		-2.310553f, -2.300603f, -2.290751f, -2.280994f, -2.271333f, -2.261763f, -2.252284f, -2.242895f, -2.233592f,
		-2.224375f,
		-2.215243f, -2.206193f, -2.197225f, -2.188336f, -2.179525f, -2.170791f, -2.162133f, -2.153549f, -2.145039f,
		-2.136600f,
		-2.128232f, -2.119933f, -2.111702f, -2.103539f, -2.095442f, -2.087410f, -2.079442f, -2.071536f, -2.063693f,
		-2.055911f,
		-2.048189f, -2.040526f, -2.032922f, -2.025374f, -2.017884f, -2.010449f, -2.003068f, -1.995743f, -1.988470f,
		-1.981250f,
		-1.974081f, -1.966964f, -1.959896f, -1.952879f, -1.945910f, -1.938990f, -1.932117f, -1.925291f, -1.918511f,
		-1.911777f,
		-1.905088f, -1.898444f, -1.891843f, -1.885285f, -1.878771f, -1.872298f, -1.865867f, -1.859478f, -1.853128f,
		-1.846819f,
		-1.840550f, -1.834319f, -1.828127f, -1.821973f, -1.815857f, -1.809778f, -1.803736f, -1.797730f, -1.791759f,
		-1.785825f,
		-1.779925f, -1.774060f, -1.768229f, -1.762432f, -1.756668f, -1.750937f, -1.745239f, -1.739574f, -1.733940f,
		-1.728338f,
		-1.722767f, -1.717226f, -1.711717f, -1.706237f, -1.700788f, -1.695368f, -1.689977f, -1.684615f, -1.679281f,
		-1.673976f,
		-1.668699f, -1.663450f, -1.658228f, -1.653033f, -1.647865f, -1.642724f, -1.637609f, -1.632520f, -1.627456f,
		-1.622419f,
		-1.617406f, -1.612419f, -1.607456f, -1.602517f, -1.597603f, -1.592713f, -1.587847f, -1.583005f, -1.578185f,
		-1.573389f,
		-1.568616f, -1.563865f, -1.559137f, -1.554431f, -1.549747f, -1.545085f, -1.540445f, -1.535826f, -1.531228f,
		-1.526652f,
		-1.522096f, -1.517561f, -1.513046f, -1.508552f, -1.504077f, -1.499623f, -1.495188f, -1.490773f, -1.486378f,
		-1.482001f,
		-1.477644f, -1.473306f, -1.468986f, -1.464685f, -1.460402f, -1.456138f, -1.451892f, -1.447663f, -1.443453f,
		-1.439260f,
		-1.435085f, -1.430927f, -1.426786f, -1.422662f, -1.418555f, -1.414465f, -1.410392f, -1.406335f, -1.402295f,
		-1.398271f,
		-1.394263f, -1.390270f, -1.386294f, -1.382334f, -1.378389f, -1.374460f, -1.370546f, -1.366647f, -1.362764f,
		-1.358895f,
		-1.355042f, -1.351203f, -1.347379f, -1.343569f, -1.339774f, -1.335994f, -1.332227f, -1.328475f, -1.324736f,
		-1.321012f,
		-1.317302f, -1.313605f, -1.309921f, -1.306252f, -1.302595f, -1.298952f, -1.295323f, -1.291706f, -1.288102f,
		-1.284512f,
		-1.280934f, -1.277369f, -1.273816f, -1.270277f, -1.266749f, -1.263234f, -1.259732f, -1.256241f, -1.252763f,
		-1.249297f,
		-1.245843f, -1.242400f, -1.238970f, -1.235551f, -1.232144f, -1.228748f, -1.225364f, -1.221991f, -1.218630f,
		-1.215280f,
		-1.211941f, -1.208613f, -1.205296f, -1.201991f, -1.198696f, -1.195412f, -1.192138f, -1.188876f, -1.185624f,
		-1.182382f,
		-1.179151f, -1.175931f, -1.172720f, -1.169520f, -1.166330f, -1.163151f, -1.159981f, -1.156822f, -1.153672f,
		-1.150532f,
		-1.147402f, -1.144282f, -1.141172f, -1.138071f, -1.134980f, -1.131898f, -1.128826f, -1.125763f, -1.122710f,
		-1.119666f,
		-1.116631f, -1.113605f, -1.110588f, -1.107581f, -1.104582f, -1.101593f, -1.098612f, -1.095641f, -1.092678f,
		-1.089723f,
		-1.086778f, -1.083841f, -1.080913f, -1.077993f, -1.075082f, -1.072179f, -1.069285f, -1.066399f, -1.063521f,
		-1.060652f,
		-1.057790f, -1.054937f, -1.052092f, -1.049255f, -1.046427f, -1.043606f, -1.040793f, -1.037988f, -1.035190f,
		-1.032401f,
		-1.029619f, -1.026845f, -1.024079f, -1.021321f, -1.018570f, -1.015826f, -1.013090f, -1.010362f, -1.007640f,
		-1.004927f,
		-1.002220f, -0.999521f, -0.996830f, -0.994145f, -0.991468f, -0.988797f, -0.986134f, -0.983478f, -0.980829f,
		-0.978187f,
		-0.975552f, -0.972924f, -0.970303f, -0.967688f, -0.965081f, -0.962480f, -0.959886f, -0.957299f, -0.954718f,
		-0.952144f,
		-0.949577f, -0.947016f, -0.944462f, -0.941914f, -0.939373f, -0.936838f, -0.934309f, -0.931787f, -0.929271f,
		-0.926762f,
		-0.924259f, -0.921762f, -0.919271f, -0.916787f, -0.914309f, -0.911836f, -0.909370f, -0.906910f, -0.904456f,
		-0.902008f,
		-0.899566f, -0.897130f, -0.894700f, -0.892276f, -0.889857f, -0.887445f, -0.885038f, -0.882637f, -0.880242f,
		-0.877852f,
		-0.875469f, -0.873091f, -0.870718f, -0.868351f, -0.865990f, -0.863634f, -0.861284f, -0.858939f, -0.856600f,
		-0.854267f,
		-0.851938f, -0.849615f, -0.847298f, -0.844986f, -0.842679f, -0.840377f, -0.838081f, -0.835790f, -0.833505f,
		-0.831224f,
		-0.828949f, -0.826679f, -0.824414f, -0.822154f, -0.819899f, -0.817649f, -0.815404f, -0.813165f, -0.810930f,
		-0.808701f,
		-0.806476f, -0.804256f, -0.802041f, -0.799831f, -0.797626f, -0.795426f, -0.793231f, -0.791040f, -0.788854f,
		-0.786673f,
		-0.784497f, -0.782325f, -0.780159f, -0.777996f, -0.775839f, -0.773686f, -0.771538f, -0.769394f, -0.767255f,
		-0.765121f,
		-0.762991f, -0.760865f, -0.758744f, -0.756628f, -0.754516f, -0.752409f, -0.750306f, -0.748207f, -0.746113f,
		-0.744023f,
		-0.741937f, -0.739856f, -0.737779f, -0.735707f, -0.733639f, -0.731575f, -0.729515f, -0.727459f, -0.725408f,
		-0.723361f,
		-0.721318f, -0.719279f, -0.717245f, -0.715214f, -0.713188f, -0.711166f, -0.709148f, -0.707133f, -0.705123f,
		-0.703117f,
		-0.701115f, -0.699117f, -0.697123f, -0.695133f, -0.693147f, -0.691165f, -0.689187f, -0.687212f, -0.685242f,
		-0.683275f,
		-0.681313f, -0.679354f, -0.677399f, -0.675448f, -0.673500f, -0.671557f, -0.669617f, -0.667681f, -0.665748f,
		-0.663820f,
		-0.661895f, -0.659973f, -0.658056f, -0.656142f, -0.654232f, -0.652325f, -0.650422f, -0.648523f, -0.646627f,
		-0.644735f,
		-0.642846f, -0.640961f, -0.639080f, -0.637202f, -0.635328f, -0.633457f, -0.631589f, -0.629725f, -0.627865f,
		-0.626008f,
		-0.624154f, -0.622304f, -0.620457f, -0.618614f, -0.616774f, -0.614938f, -0.613104f, -0.611275f, -0.609448f,
		-0.607625f,
		-0.605805f, -0.603989f, -0.602175f, -0.600365f, -0.598559f, -0.596755f, -0.594955f, -0.593158f, -0.591365f,
		-0.589574f,
		-0.587787f, -0.586003f, -0.584222f, -0.582444f, -0.580669f, -0.578898f, -0.577129f, -0.575364f, -0.573602f,
		-0.571843f,
		-0.570087f, -0.568334f, -0.566584f, -0.564838f, -0.563094f, -0.561353f, -0.559616f, -0.557881f, -0.556150f,
		-0.554421f,
		-0.552695f, -0.550973f, -0.549253f, -0.547536f, -0.545822f, -0.544112f, -0.542404f, -0.540699f, -0.538997f,
		-0.537297f,
		-0.535601f, -0.533907f, -0.532217f, -0.530529f, -0.528844f, -0.527162f, -0.525483f, -0.523806f, -0.522133f,
		-0.520462f,
		-0.518794f, -0.517129f, -0.515466f, -0.513806f, -0.512149f, -0.510495f, -0.508843f, -0.507195f, -0.505549f,
		-0.503905f,
		-0.502264f, -0.500627f, -0.498991f, -0.497359f, -0.495729f, -0.494101f, -0.492476f, -0.490854f, -0.489235f,
		-0.487618f,
		-0.486004f, -0.484392f, -0.482783f, -0.481177f, -0.479573f, -0.477972f, -0.476373f, -0.474777f, -0.473183f,
		-0.471592f,
		-0.470004f, -0.468418f, -0.466834f, -0.465253f, -0.463674f, -0.462098f, -0.460525f, -0.458954f, -0.457385f,
		-0.455819f,
		-0.454255f, -0.452694f, -0.451135f, -0.449579f, -0.448025f, -0.446473f, -0.444924f, -0.443377f, -0.441833f,
		-0.440291f,
		-0.438751f, -0.437214f, -0.435679f, -0.434146f, -0.432616f, -0.431088f, -0.429563f, -0.428039f, -0.426519f,
		-0.425000f,
		-0.423484f, -0.421970f, -0.420458f, -0.418948f, -0.417441f, -0.415936f, -0.414434f, -0.412933f, -0.411435f,
		-0.409939f,
		-0.408446f, -0.406954f, -0.405465f, -0.403978f, -0.402493f, -0.401011f, -0.399530f, -0.398052f, -0.396576f,
		-0.395102f,
		-0.393631f, -0.392161f, -0.390694f, -0.389229f, -0.387766f, -0.386305f, -0.384846f, -0.383389f, -0.381935f,
		-0.380482f,
		-0.379032f, -0.377584f, -0.376137f, -0.374693f, -0.373251f, -0.371812f, -0.370374f, -0.368938f, -0.367504f,
		-0.366073f,
		-0.364643f, -0.363216f, -0.361790f, -0.360367f, -0.358945f, -0.357526f, -0.356108f, -0.354693f, -0.353279f,
		-0.351868f,
		-0.350458f, -0.349051f, -0.347646f, -0.346242f, -0.344840f, -0.343441f, -0.342043f, -0.340648f, -0.339254f,
		-0.337862f,
		-0.336472f, -0.335084f, -0.333698f, -0.332314f, -0.330932f, -0.329552f, -0.328173f, -0.326797f, -0.325422f,
		-0.324050f,
		-0.322679f, -0.321310f, -0.319943f, -0.318578f, -0.317214f, -0.315853f, -0.314493f, -0.313136f, -0.311780f,
		-0.310426f,
		-0.309073f, -0.307723f, -0.306374f, -0.305027f, -0.303682f, -0.302339f, -0.300998f, -0.299658f, -0.298320f,
		-0.296984f,
		-0.295650f, -0.294318f, -0.292987f, -0.291658f, -0.290331f, -0.289006f, -0.287682f, -0.286360f, -0.285040f,
		-0.283722f,
		-0.282405f, -0.281090f, -0.279777f, -0.278465f, -0.277156f, -0.275848f, -0.274541f, -0.273237f, -0.271934f,
		-0.270632f,
		-0.269333f, -0.268035f, -0.266739f, -0.265444f, -0.264152f, -0.262860f, -0.261571f, -0.260283f, -0.258997f,
		-0.257712f,
		-0.256430f, -0.255148f, -0.253869f, -0.252591f, -0.251314f, -0.250040f, -0.248767f, -0.247495f, -0.246225f,
		-0.244957f,
		-0.243691f, -0.242425f, -0.241162f, -0.239900f, -0.238640f, -0.237381f, -0.236124f, -0.234869f, -0.233615f,
		-0.232363f,
		-0.231112f, -0.229862f, -0.228615f, -0.227369f, -0.226124f, -0.224881f, -0.223640f, -0.222400f, -0.221161f,
		-0.219925f,
		-0.218689f, -0.217455f, -0.216223f, -0.214992f, -0.213763f, -0.212535f, -0.211309f, -0.210084f, -0.208861f,
		-0.207639f,
		-0.206419f, -0.205200f, -0.203983f, -0.202767f, -0.201553f, -0.200340f, -0.199129f, -0.197919f, -0.196710f,
		-0.195503f,
		-0.194298f, -0.193094f, -0.191891f, -0.190690f, -0.189490f, -0.188292f, -0.187095f, -0.185899f, -0.184705f,
		-0.183513f,
		-0.182322f, -0.181132f, -0.179943f, -0.178756f, -0.177571f, -0.176387f, -0.175204f, -0.174023f, -0.172843f,
		-0.171664f,
		-0.170487f, -0.169311f, -0.168137f, -0.166964f, -0.165792f, -0.164622f, -0.163453f, -0.162286f, -0.161119f,
		-0.159955f,
		-0.158791f, -0.157629f, -0.156468f, -0.155309f, -0.154151f, -0.152994f, -0.151839f, -0.150684f, -0.149532f,
		-0.148380f,
		-0.147230f, -0.146081f, -0.144934f, -0.143788f, -0.142643f, -0.141500f, -0.140357f, -0.139216f, -0.138077f,
		-0.136939f,
		-0.135802f, -0.134666f, -0.133531f, -0.132398f, -0.131266f, -0.130136f, -0.129007f, -0.127878f, -0.126752f,
		-0.125626f,
		-0.124502f, -0.123379f, -0.122257f, -0.121137f, -0.120018f, -0.118900f, -0.117783f, -0.116668f, -0.115553f,
		-0.114440f,
		-0.113329f, -0.112218f, -0.111109f, -0.110001f, -0.108894f, -0.107789f, -0.106684f, -0.105581f, -0.104479f,
		-0.103378f,
		-0.102279f, -0.101181f, -0.100083f, -0.098988f, -0.097893f, -0.096799f, -0.095707f, -0.094616f, -0.093526f,
		-0.092437f,
		-0.091350f, -0.090263f, -0.089178f, -0.088094f, -0.087011f, -0.085930f, -0.084849f, -0.083770f, -0.082692f,
		-0.081615f,
		-0.080539f, -0.079464f, -0.078391f, -0.077318f, -0.076247f, -0.075177f, -0.074108f, -0.073040f, -0.071974f,
		-0.070908f,
		-0.069844f, -0.068780f, -0.067718f, -0.066657f, -0.065597f, -0.064539f, -0.063481f, -0.062424f, -0.061369f,
		-0.060315f,
		-0.059261f, -0.058209f, -0.057158f, -0.056109f, -0.055060f, -0.054012f, -0.052966f, -0.051920f, -0.050876f,
		-0.049832f,
		-0.048790f, -0.047749f, -0.046709f, -0.045670f, -0.044632f, -0.043595f, -0.042560f, -0.041525f, -0.040491f,
		-0.039459f,
		-0.038427f, -0.037397f, -0.036368f, -0.035339f, -0.034312f, -0.033286f, -0.032261f, -0.031237f, -0.030214f,
		-0.029192f,
		-0.028171f, -0.027151f, -0.026132f, -0.025114f, -0.024098f, -0.023082f, -0.022067f, -0.021053f, -0.020041f,
		-0.019029f,
		-0.018019f, -0.017009f, -0.016000f, -0.014993f, -0.013986f, -0.012981f, -0.011976f, -0.010973f, -0.009970f,
		-0.008969f,
		-0.007968f, -0.006969f, -0.005970f, -0.004973f, -0.003976f, -0.002981f, -0.001986f, -0.000993f, 0.000000f
	};

	public final static float[] xarray = new float[] {1.0f, 2.0f, 4.0f, 8.0f, 16.0f, 32.0f, 64.0f, 128.0f, 256.0f,
		512.0f,
		1024.0f, 2048.0f, 4096.0f, 8192.0f, 16384.0f, 32768.0f, 65536.0f, 131072.0f, 262144.0f, 524288.0f, 1048576.0f,
		2097152.0f,
		4194304.0f, 8388608.0f, 1.6777216E7f, 3.3554432E7f, 6.7108864E7f, 1.34217728E8f, 2.68435456E8f, 5.3687091E8f,
		1.07374182E9f, 2.14748365E9f, 4.2949673E9f, 8.5899346E9f, 1.71798692E10f, 3.4359738E10f, 6.8719477E10f,
		1.37438953E11f,
		2.74877907E11f, 5.4975581E11f, 1.09951163E12f, 2.19902326E12f, 4.3980465E12f, 8.796093E12f, 1.7592186E13f,
		3.5184372E13f, 7.0368744E13f, 1.40737488E14f, 2.81474977E14f, 5.6294995E14f, 1.12589991E15f, 2.25179981E15f,
		4.5035996E15f, 9.0071993E15f, 1.80143985E16f};

	public final static float[] yarray = new float[] {5.551115E-17f, 1.110223E-16f, 2.220446E-16f, 4.440892E-16f,
		8.881784E-16f, 1.7763568E-15f, 3.5527137E-15f, 7.1054274E-15f, 1.4210855E-14f, 2.842171E-14f, 5.684342E-14f,
		1.1368684E-13f, 2.2737368E-13f, 4.5474735E-13f, 9.094947E-13f, 1.8189894E-12f, 3.6379788E-12f, 7.2759576E-12f,
		1.4551915E-11f, 2.910383E-11f, 5.820766E-11f, 1.1641532E-10f, 2.3283064E-10f, 4.656613E-10f, 9.313226E-10f,
		1.8626451E-9f, 3.7252903E-9f, 7.4505806E-9f, 1.4901161E-8f, 2.9802322E-8f, 5.9604645E-8f, 1.1920929E-7f,
		2.3841858E-7f,
		4.7683716E-7f, 9.536743E-7f, 1.9073486E-6f, 3.8146973E-6f, 7.6293945E-6f, 1.5258789E-5f, 3.0517578E-5f,
		6.1035156E-5f,
		1.2207031E-4f, 2.4414062E-4f, 4.8828125E-4f, 9.765625E-4f, 0.001953125f, 0.00390625f, 0.0078125f, 0.015625f,
		0.03125f,
		0.0625f, 0.125f, 0.25f, 0.5f, 1.0f};

	public final static float[] narray = new float[] {1.0f, 1.0006934f, 1.0013872f, 1.0020816f, 1.0027764f, 1.0034717f,
		1.0041676f, 1.0048639f, 1.0055606f, 1.0062578f, 1.0069555f, 1.0076537f, 1.0083524f, 1.0090517f, 1.0097513f,
		1.0104514f,
		1.011152f, 1.0118532f, 1.0125548f, 1.0132569f, 1.0139595f, 1.0146625f, 1.0153661f, 1.0160701f, 1.0167747f,
		1.0174797f,
		1.0181853f, 1.0188912f, 1.0195976f, 1.0203047f, 1.0210121f, 1.02172f, 1.0224285f, 1.0231375f, 1.0238469f,
		1.0245569f,
		1.0252672f, 1.0259781f, 1.0266895f, 1.0274014f, 1.0281138f, 1.0288267f, 1.0295401f, 1.030254f, 1.0309683f,
		1.0316832f,
		1.0323986f, 1.0331144f, 1.0338308f, 1.0345476f, 1.035265f, 1.0359827f, 1.0367011f, 1.0374199f, 1.0381392f,
		1.0388591f,
		1.0395794f, 1.0403003f, 1.0410216f, 1.0417434f, 1.0424658f, 1.0431886f, 1.0439119f, 1.0446358f, 1.0453601f,
		1.0460849f,
		1.0468103f, 1.0475361f, 1.0482625f, 1.0489893f, 1.0497167f, 1.0504446f, 1.0511729f, 1.0519018f, 1.0526311f,
		1.053361f,
		1.0540915f, 1.0548223f, 1.0555537f, 1.0562856f, 1.057018f, 1.0577509f, 1.0584844f, 1.0592183f, 1.0599527f,
		1.0606878f,
		1.0614232f, 1.0621592f, 1.0628957f, 1.0636327f, 1.0643702f, 1.0651082f, 1.0658467f, 1.0665858f, 1.0673254f,
		1.0680654f,
		1.0688059f, 1.069547f, 1.0702887f, 1.0710309f, 1.0717734f, 1.0725166f, 1.0732603f, 1.0740045f, 1.0747492f,
		1.0754944f,
		1.0762402f, 1.0769864f, 1.0777332f, 1.0784805f, 1.0792283f, 1.0799766f, 1.0807254f, 1.0814748f, 1.0822246f,
		1.082975f,
		1.0837259f, 1.0844774f, 1.0852294f, 1.0859818f, 1.0867349f, 1.0874884f, 1.0882424f, 1.088997f, 1.0897521f,
		1.0905077f,
		1.0912639f, 1.0920205f, 1.0927777f, 1.0935354f, 1.0942937f, 1.0950525f, 1.0958117f, 1.0965716f, 1.0973319f,
		1.0980928f,
		1.0988542f, 1.0996162f, 1.1003786f, 1.1011416f, 1.1019051f, 1.1026691f, 1.1034337f, 1.1041988f, 1.1049645f,
		1.1057307f,
		1.1064974f, 1.1072646f, 1.1080323f, 1.1088006f, 1.1095694f, 1.1103388f, 1.1111088f, 1.1118791f, 1.1126502f,
		1.1134216f,
		1.1141937f, 1.1149663f, 1.1157393f, 1.116513f, 1.1172872f, 1.1180619f, 1.1188371f, 1.1196129f, 1.1203892f,
		1.1211661f,
		1.1219435f, 1.1227214f, 1.1234999f, 1.1242789f, 1.1250585f, 1.1258386f, 1.1266192f, 1.1274004f, 1.1281822f,
		1.1289644f,
		1.1297473f, 1.1305306f, 1.1313145f, 1.1320989f, 1.1328839f, 1.1336694f, 1.1344554f, 1.1352421f, 1.1360292f,
		1.136817f,
		1.1376052f, 1.138394f, 1.1391834f, 1.1399733f, 1.1407638f, 1.1415547f, 1.1423463f, 1.1431383f, 1.143931f,
		1.1447241f,
		1.145518f, 1.1463122f, 1.147107f, 1.1479024f, 1.1486983f, 1.1494949f, 1.1502919f, 1.1510895f, 1.1518877f,
		1.1526864f,
		1.1534857f, 1.1542854f, 1.1550858f, 1.1558867f, 1.1566882f, 1.1574903f, 1.1582928f, 1.159096f, 1.1598997f,
		1.1607039f,
		1.1615087f, 1.162314f, 1.16312f, 1.1639265f, 1.1647335f, 1.1655412f, 1.1663494f, 1.1671581f, 1.1679674f,
		1.1687772f,
		1.1695876f, 1.1703986f, 1.1712102f, 1.1720223f, 1.172835f, 1.1736481f, 1.174462f, 1.1752763f, 1.1760912f,
		1.1769067f,
		1.1777228f, 1.1785394f, 1.1793566f, 1.1801744f, 1.1809926f, 1.1818116f, 1.182631f, 1.183451f, 1.1842716f,
		1.1850928f,
		1.1859145f, 1.1867368f, 1.1875597f, 1.1883831f, 1.1892071f, 1.1900316f, 1.1908568f, 1.1916826f, 1.1925088f,
		1.1933358f,
		1.1941632f, 1.1949912f, 1.1958199f, 1.196649f, 1.1974787f, 1.1983091f, 1.19914f, 1.1999714f, 1.2008034f,
		1.2016361f,
		1.2024692f, 1.203303f, 1.2041373f, 1.2049723f, 1.2058078f, 1.2066439f, 1.2074805f, 1.2083179f, 1.2091557f,
		1.2099941f,
		1.2108331f, 1.2116727f, 1.2125129f, 1.2133535f, 1.2141949f, 1.2150367f, 1.2158793f, 1.2167224f, 1.217566f,
		1.2184103f,
		1.2192551f, 1.2201005f, 1.2209466f, 1.221793f, 1.2226403f, 1.2234881f, 1.2243364f, 1.2251853f, 1.2260349f,
		1.226885f,
		1.2277356f, 1.228587f, 1.2294389f, 1.2302914f, 1.2311444f, 1.2319981f, 1.2328523f, 1.2337072f, 1.2345626f,
		1.2354187f,
		1.2362753f, 1.2371324f, 1.2379903f, 1.2388487f, 1.2397077f, 1.2405673f, 1.2414275f, 1.2422882f, 1.2431496f,
		1.2440116f,
		1.2448742f, 1.2457374f, 1.2466012f, 1.2474656f, 1.2483306f, 1.2491962f, 1.2500623f, 1.2509291f, 1.2517965f,
		1.2526644f,
		1.253533f, 1.2544022f, 1.255272f, 1.2561424f, 1.2570133f, 1.257885f, 1.2587571f, 1.25963f, 1.2605034f,
		1.2613775f,
		1.262252f, 1.2631272f, 1.2640032f, 1.2648796f, 1.2657566f, 1.2666342f, 1.2675126f, 1.2683914f, 1.2692709f,
		1.270151f,
		1.2710317f, 1.271913f, 1.272795f, 1.2736775f, 1.2745606f, 1.2754444f, 1.2763288f, 1.2772138f, 1.2780994f,
		1.2789856f,
		1.2798724f, 1.2807598f, 1.2816479f, 1.2825366f, 1.2834259f, 1.2843158f, 1.2852063f, 1.2860975f, 1.2869892f,
		1.2878816f,
		1.2887746f, 1.2896682f, 1.2905625f, 1.2914573f, 1.2923528f, 1.2932489f, 1.2941457f, 1.295043f, 1.295941f,
		1.2968396f,
		1.2977388f, 1.2986386f, 1.2995391f, 1.3004402f, 1.3013419f, 1.3022442f, 1.3031472f, 1.3040507f, 1.304955f,
		1.3058598f,
		1.3067652f, 1.3076713f, 1.308578f, 1.3094854f, 1.3103935f, 1.3113021f, 1.3122113f, 1.3131211f, 1.3140316f,
		1.3149427f,
		1.3158545f, 1.316767f, 1.31768f, 1.3185936f, 1.319508f, 1.3204229f, 1.3213384f, 1.3222547f, 1.3231715f,
		1.3240889f,
		1.325007f, 1.3259257f, 1.3268452f, 1.3277651f, 1.3286858f, 1.3296071f, 1.3305291f, 1.3314517f, 1.3323748f,
		1.3332987f,
		1.3342232f, 1.3351483f, 1.3360741f, 1.3370005f, 1.3379276f, 1.3388553f, 1.3397835f, 1.3407125f, 1.3416423f,
		1.3425725f,
		1.3435035f, 1.344435f, 1.3453672f, 1.3463001f, 1.3472335f, 1.3481678f, 1.3491025f, 1.3500379f, 1.3509741f,
		1.3519108f,
		1.3528482f, 1.3537862f, 1.354725f, 1.3556644f, 1.3566043f, 1.357545f, 1.3584863f, 1.3594283f, 1.3603709f,
		1.361314f,
		1.3622581f, 1.3632026f, 1.3641478f, 1.3650937f, 1.3660402f, 1.3669875f, 1.3679353f, 1.3688838f, 1.369833f,
		1.3707829f,
		1.3717333f, 1.3726845f, 1.3736362f, 1.3745887f, 1.3755418f, 1.3764956f, 1.37745f, 1.3784051f, 1.3793609f,
		1.3803173f,
		1.3812745f, 1.3822322f, 1.3831906f, 1.3841497f, 1.3851094f, 1.3860699f, 1.387031f, 1.3879927f, 1.3889551f,
		1.3899182f,
		1.390882f, 1.3918464f, 1.3928115f, 1.3937773f, 1.3947437f, 1.3957107f, 1.3966786f, 1.397647f, 1.3986161f,
		1.3995858f,
		1.4005563f, 1.4015274f, 1.4024992f, 1.4034717f, 1.4044449f, 1.4054188f, 1.4063932f, 1.4073684f, 1.4083443f,
		1.4093207f,
		1.410298f, 1.4112759f, 1.4122545f, 1.4132336f, 1.4142135f, 1.4151942f, 1.4161755f, 1.4171574f, 1.41814f,
		1.4191234f,
		1.4201074f, 1.421092f, 1.4220774f, 1.4230635f, 1.4240502f, 1.4250376f, 1.4260257f, 1.4270145f, 1.428004f,
		1.4289942f,
		1.4299849f, 1.4309765f, 1.4319687f, 1.4329617f, 1.4339552f, 1.4349495f, 1.4359446f, 1.4369402f, 1.4379365f,
		1.4389336f,
		1.4399313f, 1.4409298f, 1.4419289f, 1.4429287f, 1.4439292f, 1.4449304f, 1.4459323f, 1.4469349f, 1.4479382f,
		1.4489422f,
		1.4499469f, 1.4509522f, 1.4519583f, 1.452965f, 1.4539725f, 1.4549807f, 1.4559896f, 1.4569991f, 1.4580094f,
		1.4590204f,
		1.460032f, 1.4610444f, 1.4620575f, 1.4630712f, 1.4640857f, 1.4651009f, 1.4661168f, 1.4671334f, 1.4681506f,
		1.4691687f,
		1.4701873f, 1.4712068f, 1.4722269f, 1.4732476f, 1.4742693f, 1.4752915f, 1.4763144f, 1.4773381f, 1.4783624f,
		1.4793875f,
		1.4804133f, 1.4814398f, 1.482467f, 1.4834949f, 1.4845235f, 1.4855529f, 1.486583f, 1.4876138f, 1.4886452f,
		1.4896774f,
		1.4907104f, 1.491744f, 1.4927784f, 1.4938135f, 1.4948492f, 1.4958857f, 1.496923f, 1.4979609f, 1.4989996f,
		1.500039f,
		1.5010791f, 1.5021199f, 1.5031614f, 1.5042038f, 1.5052468f, 1.5062904f, 1.507335f, 1.50838f, 1.509426f,
		1.5104725f,
		1.5115199f, 1.512568f, 1.5136168f, 1.5146663f, 1.5157166f, 1.5167675f, 1.5178193f, 1.5188717f, 1.5199249f,
		1.5209788f,
		1.5220333f, 1.5230887f, 1.5241449f, 1.5252017f, 1.5262592f, 1.5273175f, 1.5283766f, 1.5294362f, 1.5304967f,
		1.531558f,
		1.53262f, 1.5336827f, 1.534746f, 1.5358102f, 1.5368751f, 1.5379409f, 1.5390072f, 1.5400743f, 1.5411422f,
		1.5422108f,
		1.5432801f, 1.5443503f, 1.5454211f, 1.5464927f, 1.547565f, 1.5486381f, 1.5497118f, 1.5507864f, 1.5518618f,
		1.5529377f,
		1.5540146f, 1.5550921f, 1.5561703f, 1.5572494f, 1.5583291f, 1.5594097f, 1.560491f, 1.561573f, 1.5626558f,
		1.5637393f,
		1.5648235f, 1.5659086f, 1.5669944f, 1.5680809f, 1.5691682f, 1.5702562f, 1.5713451f, 1.5724345f, 1.5735248f,
		1.574616f,
		1.5757078f, 1.5768003f, 1.5778937f, 1.5789877f, 1.5800827f, 1.5811782f, 1.5822746f, 1.5833718f, 1.5844697f,
		1.5855683f,
		1.5866677f, 1.5877678f, 1.5888689f, 1.5899705f, 1.5910729f, 1.5921762f, 1.5932802f, 1.5943849f, 1.5954905f,
		1.5965967f,
		1.5977038f, 1.5988116f, 1.5999203f, 1.6010296f, 1.6021397f, 1.6032506f, 1.6043624f, 1.6054748f, 1.606588f,
		1.607702f,
		1.6088167f, 1.6099323f, 1.6110486f, 1.6121657f, 1.6132835f, 1.6144022f, 1.6155216f, 1.6166418f, 1.6177627f,
		1.6188844f,
		1.6200069f, 1.6211302f, 1.6222543f, 1.6233791f, 1.6245048f, 1.6256312f, 1.6267583f, 1.6278864f, 1.6290151f,
		1.6301447f,
		1.6312749f, 1.6324061f, 1.633538f, 1.6346706f, 1.6358042f, 1.6369383f, 1.6380734f, 1.6392093f, 1.6403458f,
		1.6414832f,
		1.6426214f, 1.6437603f, 1.6449001f, 1.6460407f, 1.647182f, 1.6483241f, 1.6494671f, 1.6506108f, 1.6517553f,
		1.6529007f,
		1.6540468f, 1.6551937f, 1.6563413f, 1.6574898f, 1.6586391f, 1.6597892f, 1.66094f, 1.6620917f, 1.6632442f,
		1.6643975f,
		1.6655515f, 1.6667064f, 1.667862f, 1.6690185f, 1.6701758f, 1.6713339f, 1.6724927f, 1.6736525f, 1.674813f,
		1.6759742f,
		1.6771364f, 1.6782993f, 1.679463f, 1.6806275f, 1.6817929f, 1.682959f, 1.6841259f, 1.6852937f, 1.6864622f,
		1.6876316f,
		1.6888018f, 1.6899728f, 1.6911446f, 1.6923172f, 1.6934906f, 1.6946648f, 1.6958399f, 1.6970158f, 1.6981925f,
		1.69937f,
		1.7005483f, 1.7017275f, 1.7029074f, 1.7040882f, 1.7052698f, 1.7064523f, 1.7076354f, 1.7088195f, 1.7100043f,
		1.7111901f,
		1.7123766f, 1.7135639f, 1.7147521f, 1.7159411f, 1.7171309f, 1.7183216f, 1.7195129f, 1.7207053f, 1.7218983f,
		1.7230923f,
		1.724287f, 1.7254827f, 1.7266791f, 1.7278764f, 1.7290745f, 1.7302734f, 1.7314731f, 1.7326738f, 1.7338752f,
		1.7350774f,
		1.7362804f, 1.7374843f, 1.7386891f, 1.7398947f, 1.7411011f, 1.7423084f, 1.7435164f, 1.7447255f, 1.7459352f,
		1.7471458f,
		1.7483573f, 1.7495695f, 1.7507826f, 1.7519966f, 1.7532115f, 1.7544271f, 1.7556436f, 1.756861f, 1.7580792f,
		1.7592982f,
		1.7605181f, 1.7617388f, 1.7629603f, 1.7641827f, 1.765406f, 1.76663f, 1.767855f, 1.7690809f, 1.7703075f,
		1.771535f,
		1.7727634f, 1.7739927f, 1.7752227f, 1.7764536f, 1.7776854f, 1.778918f, 1.7801515f, 1.7813858f, 1.782621f,
		1.783857f,
		1.7850939f, 1.7863317f, 1.7875704f, 1.7888098f, 1.7900501f, 1.7912914f, 1.7925334f, 1.7937763f, 1.7950201f,
		1.7962648f,
		1.7975103f, 1.7987566f, 1.8000039f, 1.801252f, 1.802501f, 1.8037508f, 1.8050015f, 1.8062531f, 1.8075055f,
		1.8087587f,
		1.8100129f, 1.811268f, 1.8125238f, 1.8137807f, 1.8150383f, 1.8162968f, 1.8175563f, 1.8188165f, 1.8200777f,
		1.8213397f,
		1.8226025f, 1.8238664f, 1.8251309f, 1.8263965f, 1.827663f, 1.8289301f, 1.8301983f, 1.8314674f, 1.8327373f,
		1.8340081f,
		1.8352798f, 1.8365524f, 1.8378258f, 1.8391001f, 1.8403753f, 1.8416514f, 1.8429284f, 1.8442062f, 1.845485f,
		1.8467646f,
		1.8480451f, 1.8493266f, 1.8506088f, 1.851892f, 1.8531761f, 1.8544611f, 1.855747f, 1.8570337f, 1.8583213f,
		1.8596098f,
		1.8608993f, 1.8621897f, 1.8634808f, 1.8647729f, 1.866066f, 1.8673599f, 1.8686547f, 1.8699504f, 1.871247f,
		1.8725445f,
		1.8738428f, 1.8751422f, 1.8764424f, 1.8777435f, 1.8790455f, 1.8803484f, 1.8816522f, 1.882957f, 1.8842626f,
		1.8855691f,
		1.8868765f, 1.8881848f, 1.8894941f, 1.8908043f, 1.8921152f, 1.8934273f, 1.8947401f, 1.8960539f, 1.8973687f,
		1.8986843f,
		1.9000008f, 1.9013182f, 1.9026365f, 1.9039558f, 1.905276f, 1.9065971f, 1.907919f, 1.909242f, 1.9105659f,
		1.9118906f,
		1.9132164f, 1.9145429f, 1.9158704f, 1.9171989f, 1.9185282f, 1.9198586f, 1.9211898f, 1.9225218f, 1.923855f,
		1.9251889f,
		1.9265238f, 1.9278597f, 1.9291964f, 1.930534f, 1.9318726f, 1.9332122f, 1.9345527f, 1.935894f, 1.9372364f,
		1.9385797f,
		1.9399238f, 1.9412689f, 1.942615f, 1.943962f, 1.9453099f, 1.9466587f, 1.9480085f, 1.9493593f, 1.9507109f,
		1.9520636f,
		1.9534171f, 1.9547715f, 1.9561269f, 1.9574833f, 1.9588406f, 1.9601989f, 1.961558f, 1.9629182f, 1.9642792f,
		1.9656411f,
		1.9670042f, 1.968368f, 1.9697329f, 1.9710987f, 1.9724654f, 1.9738331f, 1.9752017f, 1.9765713f, 1.9779419f,
		1.9793133f,
		1.9806857f, 1.9820591f, 1.9834335f, 1.9848088f, 1.986185f, 1.9875622f, 1.9889404f, 1.9903195f, 1.9916995f,
		1.9930805f,
		1.9944625f, 1.9958454f, 1.9972293f, 1.9986142f, 2.0f};

	public final static float[] logArray = new float[] {0.13750352f, 0.13881446f, 0.14012422f, 0.14143279f,
		0.14274018f,
		0.14404637f, 0.14535138f, 0.14665522f, 0.14795788f, 0.14925936f, 0.15055968f, 0.15185882f, 0.15315679f,
		0.15445359f,
		0.15574923f, 0.15704371f, 0.15833703f, 0.15962918f, 0.16092019f, 0.16221003f, 0.16349873f, 0.16478628f,
		0.16607268f,
		0.16735792f, 0.16864203f, 0.169925f, 0.17120683f, 0.17248751f, 0.17376707f, 0.17504549f, 0.17632277f,
		0.17759892f,
		0.17887396f, 0.18014786f, 0.18142064f, 0.1826923f, 0.18396284f, 0.18523225f, 0.18650056f, 0.18776774f,
		0.18903382f,
		0.1902988f, 0.19156265f, 0.1928254f, 0.19408706f, 0.19534759f, 0.19660704f, 0.1978654f, 0.19912264f,
		0.2003788f,
		0.20163386f, 0.20288783f, 0.20414072f, 0.20539251f, 0.20664322f, 0.20789285f, 0.2091414f, 0.21038887f,
		0.21163525f,
		0.21288057f, 0.2141248f, 0.21536797f, 0.21661007f, 0.2178511f, 0.21909106f, 0.22032996f, 0.2215678f,
		0.22280456f,
		0.22404027f, 0.22527494f, 0.22650853f, 0.22774108f, 0.22897257f, 0.23020302f, 0.23143241f, 0.23266076f,
		0.23388806f,
		0.23511432f, 0.23633954f, 0.23756371f, 0.23878686f, 0.24000897f, 0.24123004f, 0.24245007f, 0.24366908f,
		0.24488705f,
		0.24610402f, 0.24731994f, 0.24853484f, 0.24974872f, 0.25096157f, 0.25217342f, 0.25338423f, 0.25459406f,
		0.25580284f,
		0.2570106f, 0.2582174f, 0.25942317f, 0.2606279f, 0.26183167f, 0.2630344f, 0.26423615f, 0.2654369f, 0.26663664f,
		0.26783538f, 0.26903313f, 0.2702299f, 0.27142566f, 0.27262047f, 0.27381423f, 0.27500704f, 0.27619886f,
		0.2773897f,
		0.27857956f, 0.2797684f, 0.28095633f, 0.28214324f, 0.28332916f, 0.28451413f, 0.28569812f, 0.28688115f,
		0.2880632f,
		0.2892443f, 0.2904244f, 0.29160357f, 0.29278174f, 0.293959f, 0.29513526f, 0.29631057f, 0.2974849f, 0.2986583f,
		0.29983076f, 0.30100226f, 0.3021728f, 0.3033424f, 0.30451104f, 0.30567876f, 0.3068455f, 0.30801132f,
		0.30917618f,
		0.3103401f, 0.3115031f, 0.31266516f, 0.3138263f, 0.3149865f, 0.31614575f, 0.31730407f, 0.31846148f,
		0.31961793f,
		0.32077348f, 0.32192808f, 0.3230818f, 0.32423458f, 0.3253864f, 0.32653734f, 0.32768735f, 0.32883647f,
		0.32998464f,
		0.33113194f, 0.33227828f, 0.33342373f, 0.33456826f, 0.3357119f, 0.33685464f, 0.33799645f, 0.33913738f,
		0.3402774f,
		0.34141654f, 0.34255475f, 0.34369206f, 0.3448285f, 0.34596404f, 0.34709868f, 0.34823242f, 0.34936526f,
		0.35049725f,
		0.35162833f, 0.35275853f, 0.35388783f, 0.35501626f, 0.3561438f, 0.35727048f, 0.35839626f, 0.35952118f,
		0.3606452f,
		0.36176836f, 0.36289063f, 0.36401206f, 0.3651326f, 0.36625227f, 0.36737105f, 0.368489f, 0.36960608f,
		0.37072226f,
		0.37183762f, 0.3729521f, 0.37406573f, 0.3751785f, 0.37629038f, 0.37740144f, 0.37851164f, 0.37962097f,
		0.38072944f,
		0.38183707f, 0.38294387f, 0.3840498f, 0.3851549f, 0.38625914f, 0.38736254f, 0.3884651f, 0.3895668f,
		0.39066768f,
		0.3917677f, 0.3928669f, 0.39396527f, 0.3950628f, 0.3961595f, 0.39725533f, 0.39835036f, 0.39944455f,
		0.40053794f,
		0.40163046f, 0.40272218f, 0.40381306f, 0.4049031f, 0.40599236f, 0.40708077f, 0.40816838f, 0.40925515f,
		0.4103411f,
		0.41142625f, 0.41251057f, 0.4135941f, 0.4146768f, 0.41575867f, 0.41683975f, 0.41792f, 0.41899946f, 0.42007813f,
		0.42115596f, 0.42223302f, 0.42330924f, 0.42438468f, 0.4254593f, 0.42653313f, 0.42760617f, 0.42867842f,
		0.42974985f,
		0.4308205f, 0.43189034f, 0.4329594f, 0.43402767f, 0.43509516f, 0.43616185f, 0.43722773f, 0.43829286f,
		0.4393572f,
		0.44042072f, 0.44148347f, 0.44254544f, 0.44360664f, 0.44466707f, 0.4457267f, 0.44678557f, 0.44784364f,
		0.44890094f,
		0.4499575f, 0.45101324f, 0.45206824f, 0.45312244f, 0.4541759f, 0.45522857f, 0.45628047f, 0.45733163f,
		0.458382f,
		0.45943162f, 0.46048048f, 0.46152857f, 0.46257588f, 0.46362245f, 0.46466827f, 0.46571332f, 0.46675763f,
		0.46780115f,
		0.46884394f, 0.46988598f, 0.47092727f, 0.4719678f, 0.47300756f, 0.4740466f, 0.47508487f, 0.4761224f,
		0.4771592f,
		0.47819525f, 0.47923055f, 0.4802651f, 0.48129895f, 0.48233202f, 0.48336437f, 0.48439595f, 0.4854268f,
		0.48645696f,
		0.48748636f, 0.48851502f, 0.48954293f, 0.49057013f, 0.49159658f, 0.49262232f, 0.49364734f, 0.4946716f,
		0.49569517f,
		0.496718f, 0.4977401f, 0.49876148f, 0.49978212f, 0.50080204f, 0.5018213f, 0.50283974f, 0.50385755f, 0.5048746f,
		0.5058909f, 0.50690657f, 0.50792146f, 0.5089357f, 0.50994915f, 0.5109619f, 0.511974f, 0.51298535f, 0.513996f,
		0.51500595f,
		0.5160152f, 0.5170237f, 0.5180315f, 0.5190386f, 0.52004504f, 0.52105075f, 0.52205575f, 0.5230601f, 0.52406365f,
		0.5250666f, 0.5260688f, 0.52707034f, 0.52807117f, 0.5290713f, 0.5300707f, 0.5310695f, 0.53206754f, 0.5330649f,
		0.5340616f,
		0.5350576f, 0.5360529f, 0.5370475f, 0.5380415f, 0.5390347f, 0.54002726f, 0.54101914f, 0.54201037f, 0.5430009f,
		0.54399073f, 0.5449799f, 0.54596835f, 0.5469562f, 0.5479433f, 0.54892975f, 0.54991555f, 0.55090064f,
		0.5518851f,
		0.55286884f, 0.55385196f, 0.5548344f, 0.5558162f, 0.55679727f, 0.55777764f, 0.5587574f, 0.55973655f,
		0.56071496f,
		0.5616927f, 0.5626698f, 0.56364626f, 0.56462204f, 0.5655972f, 0.56657165f, 0.5675455f, 0.5685186f, 0.5694911f,
		0.57046294f, 0.57143414f, 0.5724046f, 0.5733745f, 0.57434374f, 0.5753123f, 0.57628024f, 0.57724756f,
		0.57821417f,
		0.5791801f, 0.5801455f, 0.5811102f, 0.5820742f, 0.5830376f, 0.5840004f, 0.5849625f, 0.58592397f, 0.5868848f,
		0.587845f,
		0.58880454f, 0.58976346f, 0.5907218f, 0.5916794f, 0.5926364f, 0.5935928f, 0.5945485f, 0.5955037f, 0.59645814f,
		0.597412f,
		0.5983652f, 0.5993178f, 0.60026973f, 0.6012211f, 0.6021718f, 0.6031219f, 0.6040713f, 0.60502017f, 0.60596836f,
		0.60691595f, 0.6078629f, 0.60880923f, 0.609755f, 0.6107001f, 0.61164457f, 0.6125884f, 0.61353165f, 0.6144743f,
		0.6154163f,
		0.6163577f, 0.6172985f, 0.6182386f, 0.61917824f, 0.6201172f, 0.6210555f, 0.62199324f, 0.62293035f, 0.62386686f,
		0.62480277f, 0.6257381f, 0.62667274f, 0.6276068f, 0.62854034f, 0.6294732f, 0.6304055f, 0.63133717f, 0.6322682f,
		0.6331987f, 0.6341286f, 0.6350578f, 0.6359865f, 0.63691455f, 0.63784206f, 0.638769f, 0.6396952f, 0.64062095f,
		0.641546f,
		0.64247054f, 0.6433945f, 0.6443178f, 0.6452405f, 0.6461626f, 0.64708424f, 0.6480052f, 0.64892554f, 0.64984536f,
		0.6507646f, 0.65168315f, 0.65260124f, 0.6535187f, 0.6544355f, 0.6553518f, 0.6562675f, 0.65718263f, 0.6580972f,
		0.6590112f,
		0.65992457f, 0.66083735f, 0.6617496f, 0.66266125f, 0.6635723f, 0.66448283f, 0.66539276f, 0.66630214f,
		0.66721094f,
		0.66811913f, 0.6690268f, 0.66993386f, 0.6708403f, 0.67174625f, 0.67265165f, 0.67355645f, 0.67446065f,
		0.6753643f,
		0.6762674f, 0.6771699f, 0.6780719f, 0.6789733f, 0.6798741f, 0.68077445f, 0.6816741f, 0.6825733f, 0.6834719f,
		0.6843699f,
		0.6852674f, 0.6861643f, 0.6870607f, 0.6879565f, 0.6888517f, 0.68974644f, 0.69064057f, 0.69153416f, 0.6924272f,
		0.6933197f,
		0.6942116f, 0.695103f, 0.69599384f, 0.6968841f, 0.6977738f, 0.698663f, 0.69955164f, 0.7004397f, 0.70132726f,
		0.70221424f,
		0.7031007f, 0.7039866f, 0.70487195f, 0.7057568f, 0.7066411f, 0.7075248f, 0.708408f, 0.7092906f, 0.7101728f,
		0.7110543f,
		0.71193534f, 0.7128159f, 0.7136958f, 0.71457523f, 0.7154541f, 0.7163325f, 0.7172103f, 0.7180876f, 0.71896434f,
		0.7198405f,
		0.72071624f, 0.7215914f, 0.72246605f, 0.7233401f, 0.72421366f, 0.72508675f, 0.72595924f, 0.7268312f,
		0.7277027f,
		0.7285736f, 0.729444f, 0.7303139f, 0.73118323f, 0.7320521f, 0.7329204f, 0.7337882f, 0.73465544f, 0.73552215f,
		0.7363884f,
		0.7372541f, 0.7381193f, 0.7389839f, 0.7398481f, 0.74071175f, 0.7415748f, 0.7424374f, 0.74329954f, 0.74416107f,
		0.7450222f,
		0.7458827f, 0.7467427f, 0.7476022f, 0.74846125f, 0.74931973f, 0.7501777f, 0.75103515f, 0.75189215f, 0.7527486f,
		0.75360453f, 0.75446f, 0.7553149f, 0.7561693f, 0.7570233f, 0.75787663f, 0.7587296f, 0.759582f, 0.76043385f,
		0.76128525f,
		0.76213616f, 0.76298654f, 0.76383644f, 0.76468587f, 0.76553476f, 0.7663831f, 0.76723105f, 0.76807845f,
		0.7689253f,
		0.76977175f, 0.77061766f, 0.77146304f, 0.772308f, 0.7731524f, 0.77399635f, 0.77483976f, 0.7756827f,
		0.77652514f,
		0.7773671f, 0.77820855f, 0.7790496f, 0.77989006f, 0.78073f, 0.78156954f, 0.78240854f, 0.7832471f, 0.78408515f,
		0.7849227f,
		0.78575975f, 0.78659636f, 0.7874325f, 0.7882681f, 0.7891032f, 0.78993785f, 0.790772f, 0.7916057f, 0.7924389f,
		0.79327166f,
		0.7941039f, 0.79493564f, 0.79576695f, 0.7965978f, 0.7974281f, 0.79825795f, 0.7990873f, 0.7999162f, 0.80074465f,
		0.80157256f, 0.80240005f, 0.803227f, 0.80405354f, 0.8048796f, 0.8057052f, 0.8065303f, 0.8073549f, 0.8081791f,
		0.80900276f,
		0.809826f, 0.81064874f, 0.81147105f, 0.8122929f, 0.81311417f, 0.81393504f, 0.8147555f, 0.8155754f, 0.8163949f,
		0.81721395f, 0.8180325f, 0.8188506f, 0.8196682f, 0.82048535f, 0.82130206f, 0.8221183f, 0.82293403f,
		0.82374936f,
		0.8245642f, 0.8253786f, 0.82619256f, 0.827006f, 0.82781905f, 0.8286316f, 0.8294437f, 0.8302553f, 0.8310665f,
		0.83187723f,
		0.8326875f, 0.83349735f, 0.8343067f, 0.8351156f, 0.8359241f, 0.8367321f, 0.8375396f, 0.8383467f, 0.8391534f,
		0.83995956f,
		0.84076536f, 0.8415706f, 0.8423755f, 0.8431799f, 0.8439838f, 0.84478736f, 0.8455904f, 0.84639305f, 0.8471952f,
		0.8479969f,
		0.84879816f, 0.849599f, 0.8503994f, 0.8511993f, 0.85199887f, 0.85279787f, 0.8535965f, 0.8543947f, 0.8551924f,
		0.8559897f,
		0.85678655f, 0.8575829f, 0.85837895f, 0.85917443f, 0.85996956f, 0.8607642f, 0.86155844f, 0.8623522f,
		0.86314553f,
		0.86393845f, 0.8647309f, 0.865523f, 0.8663146f, 0.8671057f, 0.86789644f, 0.86868674f, 0.8694766f, 0.8702661f,
		0.87105507f,
		0.87184364f, 0.8726318f, 0.8734195f, 0.8742068f, 0.8749936f, 0.87578005f, 0.87656605f, 0.87735164f,
		0.87813675f,
		0.8789215f, 0.8797058f, 0.88048965f, 0.8812731f, 0.88205606f, 0.88283867f, 0.8836208f, 0.8844026f, 0.8851839f,
		0.88596475f, 0.8867452f, 0.88752526f, 0.8883049f, 0.8890841f, 0.8898629f, 0.8906413f, 0.8914192f, 0.8921967f,
		0.89297384f,
		0.8937505f, 0.8945268f, 0.8953026f, 0.89607805f, 0.8968531f, 0.89762765f, 0.89840186f, 0.89917564f, 0.899949f,
		0.9007219f,
		0.90149444f, 0.90226656f, 0.90303826f, 0.90380955f, 0.9045804f, 0.9053509f, 0.90612096f, 0.9068906f,
		0.9076598f,
		0.90842867f, 0.9091971f, 0.90996504f, 0.9107327f, 0.91149986f, 0.9122666f, 0.913033f, 0.913799f, 0.91456455f,
		0.9153297f,
		0.9160944f, 0.9168588f, 0.9176227f, 0.9183862f, 0.91914934f, 0.9199121f, 0.9206744f, 0.9214363f, 0.9221978f,
		0.92295897f,
		0.9237197f, 0.92448f, 0.9252399f, 0.9259994f, 0.9267585f, 0.92751724f, 0.9282756f, 0.92903346f, 0.929791f,
		0.93054813f,
		0.9313049f, 0.9320612f, 0.9328171f, 0.93357265f, 0.9343278f, 0.9350825f, 0.93583685f, 0.93659085f, 0.9373444f,
		0.93809754f, 0.93885034f, 0.93960273f, 0.9403547f, 0.9411063f, 0.9418575f, 0.94260836f, 0.9433588f, 0.9441088f,
		0.94485843f, 0.9456077f, 0.9463566f, 0.94710505f, 0.94785315f, 0.9486008f, 0.94934815f, 0.9500951f,
		0.95084167f,
		0.9515878f, 0.95233357f, 0.9530789f, 0.953824f, 0.95456856f, 0.9553128f, 0.95605665f, 0.9568001f, 0.9575432f,
		0.9582859f,
		0.95902824f, 0.95977014f, 0.9605117f, 0.96125287f, 0.9619937f, 0.9627341f, 0.9634741f, 0.9642138f, 0.96495306f,
		0.9656919f, 0.9664305f, 0.9671686f, 0.96790636f, 0.9686438f, 0.96938074f, 0.9701174f, 0.9708536f, 0.97158957f,
		0.972325f,
		0.9730602f, 0.97379494f, 0.9745293f, 0.9752633f, 0.975997f, 0.9767302f, 0.9774631f, 0.9781956f, 0.9789278f,
		0.97965956f,
		0.98039097f, 0.981122f, 0.98185265f, 0.9825829f, 0.98331285f, 0.9840424f, 0.9847716f, 0.98550045f, 0.9862289f,
		0.98695695f, 0.98768467f, 0.988412f, 0.989139f, 0.9898656f, 0.9905919f, 0.99131775f, 0.99204326f, 0.9927684f,
		0.9934932f,
		0.99421763f, 0.9949417f, 0.99566543f, 0.99638873f, 0.99711174f, 0.9978343f, 0.99855655f, 0.9992785f, 1.0f};

	final static int yLength = yarray.length - 1;
	final static double ln2 = Math.log(2);
	final static double reciprocalLn2 = 1.0 / ln2;

	public static double exp(double x) {
		if (x > 0) {
			double x1 = x * reciprocalLn2;
			return xarray[(int) x1] * narray[(int) (x1 * 1000.0) % 1000];
		} else {
			double x1 = yLength + x * reciprocalLn2;
			return yarray[(int) x1] * narray[(int) (x1 * 1000.0) % 1000];
		}
	}

	public static double log(double x) {
		if (x > 2) {
			int idx = toBinarySize((long) x);
			return ln2 * (idx + innerLog(x * yarray[54 - idx]));
		} else if (x < 0.9) {
			int idx = toBinarySize((long) (x * 1.80143985E16f)) - 54;
			return ln2 * (idx + innerLog(x * xarray[-idx]));
		} else {
			return ln2 * innerLog(x);
		}
	}

	public static int toBinarySize(long val) {
		int ret = 0;
		int stepLength = 32;
		int currentOffset = 32;
		while (stepLength != 0) {
			if (val >>> currentOffset != 0) {
				ret += stepLength;
				stepLength >>= 1;
				currentOffset += stepLength;
			} else {
				stepLength >>= 1;
				currentOffset -= stepLength;
			}
		}
		return ret;
	}

	private static double innerLog(double x) {
		if (x > 0.9 && x < 1.1) {
			return -0.724978 * x * x + 2.89749 * x - 2.17251;
		} else {
			return logArray[(int) (x * 1000) - 1100];
		}
	}

	public static float sigmoid(float f) {
		if (f < -6.0f || Float.isNaN(f)) {
			return 0.0f;
		}
		if (f > 6.0f) {
			return 1.0f;
		}

		return sigmoidTable[(int) ((f + 6.0) * 84.0)];
	}

	public static float sigmoid1(float f) {
		return sigmoidTable[(int) ((f + 6.0) * 84.0)];
	}

	public static float log(float f) {
		if (f > 1.0) {
			return 0.0f;
		}

		return logTable[(int) (f * 1008.0f)];
	}
}
